home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1993-12-02 | 8.5 KB | 350 lines |
- DEFINITION MODULE PORTAB;
- __DEF_SWITCHES__
-
- (*
- Yet another system-dependent Module.
-
- UK __DATE__ __TIME__
- modified by hk
- *)
-
-
- #ifdef FTLM2
- FROM SYSTEM IMPORT BYTE,WORD,LONGWORD,ADDRESS;
- #else
- IMPORT SYSTEM;
- #endif
-
-
- (* fixed Types *)
-
- TYPE WORDSETRANGE = [0..15];
-
- #if (defined LPRM2)
- TYPE UNSIGNEDBYTE = SYSTEM.BYTE;
- SIGNEDBYTE = SYSTEM.BYTE;
- ANYBYTE = SYSTEM.BYTE;
-
- UNSIGNEDWORD = CARDINAL;
- SIGNEDWORD = INTEGER;
- ANYWORD = SYSTEM.WORD;
-
- UNSIGNEDLONG = LONGCARD;
- SIGNEDLONG = LONGINT;
- ANYLONG = LONGINT;
-
- WORDSET = SET OF WORDSETRANGE;
- (*
- BYTESET = ANYBYTE;
- LONGSET = ANYLONG;
- *)
- TYPE
- UNSIGNED = LONGCARD; (* biggest unsigned integral type (ISO.CARDINAL) *)
- SIGNED = LONGINT; (* biggest signed integral type (ISO.INTEGER) *)
-
- CONST
- MINUNSIGNED = MIN(LONGCARD);
- MAXUNSIGNED = MAX(LONGCARD);
-
- MINSIGNED = MIN(LONGINT);
- MAXSIGNED = MAX(LONGINT);
- #elif (defined SPCM2)
- TYPE UNSIGNEDBYTE = SYSTEM.BYTE;
- SIGNEDBYTE = SYSTEM.BYTE;
- ANYBYTE = SYSTEM.BYTE;
-
- UNSIGNEDWORD = CARDINAL;
- SIGNEDWORD = INTEGER;
- ANYWORD = SYSTEM.WORD;
-
- UNSIGNEDLONG = LONGCARD;
- SIGNEDLONG = LONGINT;
- ANYLONG = LONGINT;
-
- WORDSET = SET OF WORDSETRANGE;
- (*
- BYTESET = ANYBYTE;
- LONGSET = SET OF [0..31];
- *)
- TYPE
- UNSIGNED = LONGCARD; (* biggest unsigned integral type (ISO.CARDINAL) *)
- SIGNED = LONGINT; (* biggest signed integral type (ISO.INTEGER) *)
-
- CONST
- MINUNSIGNED = MIN(LONGCARD);
- MAXUNSIGNED = MAX(LONGCARD);
-
- MINSIGNED = MIN(LONGINT);
- MAXSIGNED = MAX(LONGINT);
- #elif (defined HM2) || (defined XHM2)
- TYPE UNSIGNEDBYTE = [0..255];
- SIGNEDBYTE = [-128..127];
- ANYBYTE = SYSTEM.BYTE;
-
- UNSIGNEDWORD = SHORTCARD;
- SIGNEDWORD = SHORTINT;
- ANYWORD = SYSTEM.WORD;
-
- UNSIGNEDLONG = LONGCARD;
- SIGNEDLONG = LONGINT;
- ANYLONG = SYSTEM.LONG;
-
- WORDSET = PACKEDSET OF WORDSETRANGE;
- (*
- BYTESET = PACKEDSET OF [0..7];
- LONGSET = PACKEDSET OF [0..31];
- *)
- TYPE
- UNSIGNED = LONGCARD; (* biggest unsigned integral type (ISO.CARDINAL) *)
- SIGNED = LONGINT; (* biggest signed integral type (ISO.INTEGER) *)
-
- CONST
- MINUNSIGNED = MIN(LONGCARD);
- MAXUNSIGNED = MAX(LONGCARD);
-
- MINSIGNED = MIN(LONGINT);
- MAXSIGNED = MAX(LONGINT);
- #elif (defined MM2)
- TYPE UNSIGNEDBYTE = SYSTEM.BYTE;
- SIGNEDBYTE = SYSTEM.BYTE;
- ANYBYTE = SYSTEM.BYTE;
-
- UNSIGNEDWORD = SHORTCARD;
- SIGNEDWORD = SHORTINT;
- ANYWORD = SYSTEM.WORD;
-
- UNSIGNEDLONG = LONGCARD;
- SIGNEDLONG = LONGINT;
- ANYLONG = SYSTEM.LONGWORD;
-
- WORDSET = PACKEDSET OF WORDSETRANGE;
- (*
- BYTESET = PACKEDSET OF [0..7];
- LONGSET = SET OF SYSTEM.BITNUM[0..31];
- *)
- TYPE
- UNSIGNED = LONGCARD; (* biggest unsigned integral type (ISO.CARDINAL) *)
- SIGNED = LONGINT; (* biggest signed integral type (ISO.INTEGER) *)
-
- CONST
- MINUNSIGNED = MIN(LONGCARD);
- MAXUNSIGNED = MAX(LONGCARD);
-
- MINSIGNED = MIN(LONGINT);
- MAXSIGNED = MAX(LONGINT);
- #elif (defined MSM2)
- TYPE (*
- UNSIGNEDBYTE = CHAR;
- SIGNEDBYTE = CHAR;
- ANYBYTE = CHAR;
-
- UNSIGNEDWORD = CARDINAL;
- SIGNEDWORD = INTEGER;
- ANYWORD = WORD;
-
- UNSIGNEDLONG = LONGCARD;
- SIGNEDLONG = LONGINT;
- ANYLONG = LONG;
-
- BYTESET = CHAR;
- LONGSET = SET OF [0..31];
- *)
- WORDSET = SET OF WORDSETRANGE;
- #elif (defined FSTM2)
- TYPE UNSIGNEDBYTE = SYSTEM.BYTE;
- SIGNEDBYTE = SYSTEM.BYTE;
- ANYBYTE = SYSTEM.BYTE;
-
- UNSIGNEDWORD = CARDINAL;
- SIGNEDWORD = INTEGER;
- ANYWORD = SYSTEM.WORD;
-
- UNSIGNEDLONG = LONGCARD;
- SIGNEDLONG = LONGINT;
- ANYLONG = LONGINT;
-
- WORDSET = SET OF WORDSETRANGE;
- (*
- BYTESET = SYSTEM.BYTE;
- LONGSET = SET OF [0..31];
- *)
- TYPE
- UNSIGNED = LONGCARD; (* biggest unsigned integral type (ISO.CARDINAL) *)
- SIGNED = LONGINT; (* biggest signed integral type (ISO.INTEGER) *)
- #elif (defined SDSM2)
- TYPE UNSIGNEDBYTE = SYSTEM.BYTE;
- SIGNEDBYTE = SYSTEM.BYTE;
- ANYBYTE = SYSTEM.BYTE;
-
- UNSIGNEDWORD = CARDINAL;
- SIGNEDWORD = INTEGER;
- ANYWORD = SYSTEM.WORD;
-
- UNSIGNEDLONG = LONGINT; (* no LONGCARD *)
- SIGNEDLONG = LONGINT;
- ANYLONG = LONGINT;
-
- WORDSET = SET OF [0..15];
- (*
- BYTESET = SYSTEM.BYTE;
- LONGSET = ANYLONG;
- *)
- TYPE
- UNSIGNED = LONGINT; (* biggest unsigned integral type (ISO.CARDINAL) *)
- SIGNED = LONGINT; (* biggest signed integral type (ISO.INTEGER) *)
- #elif (defined ANAM2) || (defined XAM2)
- TYPE UNSIGNEDBYTE = SYSTEM.BYTE;
- SIGNEDBYTE = SYSTEM.BYTE;
- ANYBYTE = SYSTEM.BYTE;
-
- UNSIGNEDWORD = SYSTEM.SHORTWORD;
- SIGNEDWORD = SYSTEM.SHORTWORD;
- ANYWORD = SYSTEM.SHORTWORD;
-
- UNSIGNEDLONG = CARDINAL;
- SIGNEDLONG = INTEGER;
- ANYLONG = SYSTEM.WORD;
-
- WORDSET = SET OF WORDSETRANGE;
- (*
- BYTESET = SET OF [0..7];
- LONGSET = SET OF [0..31];
- *)
- TYPE
- UNSIGNED = CARDINAL; (* biggest unsigned integral type (ISO.CARDINAL) *)
- SIGNED = INTEGER; (* biggest signed integral type (ISO.INTEGER) *)
- #elif (defined TDIM2)
- TYPE UNSIGNEDBYTE = SYSTEM.BYTE;
- SIGNEDBYTE = SYSTEM.BYTE;
- ANYBYTE = SYSTEM.BYTE;
-
- UNSIGNEDWORD = CARDINAL;
- SIGNEDWORD = INTEGER;
- ANYWORD = SYSTEM.WORD;
-
- UNSIGNEDLONG = LONGCARD;
- SIGNEDLONG = LONGINT;
- ANYLONG = SYSTEM.LONGWORD;
-
- WORDSET = SET OF WORDSETRANGE;
- (*
- BYTESET = SET OF [0..7];
- LONGSET = SET OF [0..31];
- *)
- TYPE
- UNSIGNED = LONGCARD; (* biggest unsigned integral type (ISO.CARDINAL) *)
- SIGNED = LONGINT; (* biggest signed integral type (ISO.INTEGER) *)
-
- CONST
- MINUNSIGNED = MIN(LONGCARD);
- MAXUNSIGNED = MAX(LONGCARD);
-
- MINSIGNED = MIN(LONGINT);
- MAXSIGNED = MAX(LONGINT);
- #elif (defined FTLM2)
- TYPE UNSIGNEDBYTE = BYTE;
- SIGNEDBYTE = BYTE;
- ANYBYTE = BYTE;
-
- UNSIGNEDWORD = CARDINAL;
- SIGNEDWORD = INTEGER;
- ANYWORD = WORD;
-
- UNSIGNEDLONG = LONGCARD;
- SIGNEDLONG = LONGINT;
- ANYLONG = LONGWORD;
-
- WORDSET = SET OF WORDSETRANGE;
- (*
- BYTESET = SET OF [0..7];
- LONGSET = SET OF [0..31];
- *)
- TYPE
- UNSIGNED = LONGCARD; (* biggest unsigned integral type (ISO.CARDINAL) *)
- SIGNED = LONGINT; (* biggest signed integral type (ISO.INTEGER) *)
- #elif (defined LM2)
- TYPE UNSIGNEDBYTE = SYSTEM.BYTE;
- SIGNEDBYTE = SYSTEM.BYTE;
- ANYBYTE = SYSTEM.BYTE;
-
- UNSIGNEDWORD = CARDINAL;
- SIGNEDWORD = INTEGER;
- ANYWORD = SYSTEM.WORD;
-
- UNSIGNEDLONG = LONGINT;
- SIGNEDLONG = LONGINT; (* no LONGCARD *)
- ANYLONG = LONGINT;
-
- WORDSET = SET OF WORDSETRANGE;
- (*
- BYTESET = SET OF [0..7];
- LONGSET = SET OF [0..31];
- *)
- TYPE
- UNSIGNED = LONGINT; (* biggest unsigned integral type (ISO.CARDINAL) *)
- SIGNED = LONGINT; (* biggest signed integral type (ISO.INTEGER) *)
- #elif (defined TSM2_1) || (defined TSM2_2)
- TYPE UNSIGNEDBYTE = SHORTCARD;
- SIGNEDBYTE = SHORTINT;
- ANYBYTE = SYSTEM.BYTE;
-
- UNSIGNEDWORD = CARDINAL;
- SIGNEDWORD = INTEGER;
- ANYWORD = SYSTEM.WORD;
-
- UNSIGNEDLONG = LONGCARD;
- SIGNEDLONG = LONGINT;
- ANYLONG = SYSTEM.LONGWORD;
-
- WORDSET = SET OF WORDSETRANGE;
- (*
- BYTESET = SET OF [SHORTCARD(0)..SHORTCARD(7)];
- LONGSET = SET OF [0..31];
- *)
- TYPE
- UNSIGNED = LONGCARD; (* biggest unsigned integral type (ISO.CARDINAL) *)
- SIGNED = LONGINT; (* biggest signed integral type (ISO.INTEGER) *)
- #endif
-
- (* for open Arrays *)
-
- #if (defined FSTM2) || (defined ANAM2) || (defined LPRM2) || \
- (defined SPCM2) || (defined HM2) || (defined TSM2_1) || \
- (defined TSM2_2) || (defined LM2) || (defined TDIM2)
- TYPE ANYTYPE = SYSTEM.BYTE;
- #elif (defined FTLM2)
- TYPE ANYTYPE = BYTE;
- #elif (defined ISOM2) || (defined MM2)
- TYPE ANYTYPE = SYSTEM.LOC;
- #else
- TYPE ANYTYPE = SYSTEM.WORD;
- #endif
-
- (* avoiding SYSTEM.ADDRESS *)
-
- #ifdef FTLM2
- TYPE ANYPOINTER = ADDRESS;
- #else
- TYPE ANYPOINTER = SYSTEM.ADDRESS;
- #endif
-
- (* all Purpose Procedure Type *)
-
- TYPE ANYPROC = PROCEDURE(ANYPOINTER);
-
- (* C-compatible NIL *)
-
- #if (defined TDIM2)
- CONST NULL = SYSTEM.NULL;
- #elif (defined LM2)
- CONST NULL = 0H:0H;
- #elif (defined FTLM2)
- CONST NULL = ADDRESS(LONGCARD(0));
- #elif (defined FSTM2)
- VAR NULL: ANYPOINTER;
- #else
- CONST NULL = NIL;
- #endif
-
- END PORTAB.
-